/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.com.gestionstock.controleur;

import edu.com.gestionstock.vue.FenetrePrincipale;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

/**
 *
 * @author Gratien
 */
public class ControleurFenetre implements ActionListener
{

    private FenetrePrincipale fenetrePrincipale;

    public ControleurFenetre(FenetrePrincipale fenetre)
    {
        this.fenetrePrincipale = fenetre;
        setControleurFenetrePrincipale(this);
    }

    public void actionPerformed(ActionEvent e)
    {
        Object source = e.getSource();

        //ACTION DES MENUS
        //Afficher Stock
        if ( source == fenetrePrincipale.getMenuAfficherStock() )
        {
            fenetrePrincipale.masqueTousLesPanneaux();
            fenetrePrincipale.getControleurAfficheStock().init();
            fenetrePrincipale.getPanneauAfficheStock().setVisible(true);
        }

        //Ajout stock
        if ( source == fenetrePrincipale.getMenuAjouterStock() )
        {
            fenetrePrincipale.masqueTousLesPanneaux();
            fenetrePrincipale.getPanneauAjoutStock().setVisible(true);
        }

        if ( source == fenetrePrincipale.getMenuModifierStock() )
        {
            fenetrePrincipale.masqueTousLesPanneaux();
            fenetrePrincipale.getPanneauModifieStock().setVisible(true);
        }

        if ( source == fenetrePrincipale.getMenuSupprimerStock() )
        {
            fenetrePrincipale.getControleurSupprimeStock().checkDelete();
        }

        if ( source == fenetrePrincipale.getMenuRechercherStock() )
        {
            fenetrePrincipale.masqueTousLesPanneaux();
            fenetrePrincipale.getPanneauRechercheStock().setVisible(true);
        }

        if ( source == fenetrePrincipale.getMenuAfficherClient() )
        {
            fenetrePrincipale.masqueTousLesPanneaux();
            fenetrePrincipale.getControleurAfficheClient().init();
            fenetrePrincipale.getPanneauAfficheClient().setVisible(true);
        }

        if ( source == fenetrePrincipale.getMenuAjouterClient() )
        {
            fenetrePrincipale.masqueTousLesPanneaux();
            fenetrePrincipale.getPanneauAjoutClient().setVisible(true);
        }

        if ( source == fenetrePrincipale.getMenuModifierClient() )
        {
            fenetrePrincipale.getControleurModifieClient().checkChange();
        }

        if ( source == fenetrePrincipale.getMenuSupprimerClient() )
        {
            JOptionPane.showMessageDialog(null, "Supprimer Client\n");
        }

        if ( source == fenetrePrincipale.getMenuRechercherClient() )
        {
            fenetrePrincipale.masqueTousLesPanneaux();
            fenetrePrincipale.getPanneauRechercheClient().setVisible(true);
        }

        if ( source == fenetrePrincipale.getMenuQuitter() )
        {
            if ( JOptionPane.showConfirmDialog(fenetrePrincipale,
                    "Voulez-vous vraiment quitter ?", "Quitter",
                    JOptionPane.YES_NO_OPTION)
                    == JOptionPane.YES_OPTION )
            {
                System.exit(0);
            }
        }



    }

    public void setControleurFenetrePrincipale(ActionListener listener)
    {
        //On ajoute le listener sur chacun des liens cliquable
        fenetrePrincipale.getMenuAfficherStock().addActionListener(listener);
        fenetrePrincipale.getMenuAjouterStock().addActionListener(listener);
        fenetrePrincipale.getMenuModifierStock().addActionListener(listener);
        fenetrePrincipale.getMenuSupprimerStock().addActionListener(listener);
        fenetrePrincipale.getMenuRechercherStock().addActionListener(listener);
        fenetrePrincipale.getMenuAfficherClient().addActionListener(listener);
        fenetrePrincipale.getMenuAjouterClient().addActionListener(listener);
        fenetrePrincipale.getMenuModifierClient().addActionListener(listener);
        fenetrePrincipale.getMenuSupprimerClient().addActionListener(listener);
        fenetrePrincipale.getMenuRechercherClient().addActionListener(listener);
        fenetrePrincipale.getMenuQuitter().addActionListener(listener);
    }
}
